iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 25
1
Software Development

30天完成家庭任務平台系列 第 25

30天完成家庭任務平台:第二十五天

  • 分享至 

  • xImage
  •  

在前一天的ProjectInvitationController中,使用者在邀請別的使用者加入計畫時,需要先寄出email,再返回到計畫頁面,此時使用者就會稍微觀察到頁面重載的狀況,但是如果ProjectInvitationController中加入越來越多的行為,就會越明顯地觀察到頁面重載的狀況。

class ProjectInvitationController extends Controller
{
    public function store(InvitationRequest $request, Project $project)
    {

        $validated = $request->validated();
        $invitedMember = User::whereEmail($validated['email'])->first();
        Mail::to($invitedMember->email)->send(new InvitationInformed($invitedMember, $project));
        $project->invite($invitedMember);
        假如加入越來越多的行為...
        return redirect(route('project.show', compact('project')));
    }
}

但我們只要求將邀請的成員加入member_project表中的行為在返回頁面前發生,剩下的行為其實可以稍後處理,這時候就可以使用駐列(Queue),一旦將這些行為加入駐列後就可以繼續進行,所以我們只要將寄email等等的行為加到駐列後即可返回頁面,就不會感到明顯的頁面重載。

所以明天要介紹Laracast的Queue It Up系列。

參考文章:
Queqe It Up
Message Queues & PubSub Systems


上一篇
30天完成家庭任務平台:第二十四天
下一篇
30天完成家庭任務平台:第二十六天
系列文
30天完成家庭任務平台30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言